import { View3D, Node3D, Weather, Mttq, AppStorage, Vector3 } from "../src";

// // import { observe } from "./utils/Observe";

const mesh = new Node3D({ position: { x: 1, y: 2, z: 3 },scale: { x: 1, y: 2, z: 3 }, bhidden: false, bshadow: true ,material:[{component:'base'}],v1:'3213',v2:'sdadsd'});

console.log(JSON.stringify(mesh));
// // // const obj=new Object3D({guid:'123123123',displayname:'123',tags:['424','43'],transform:{}})

// // const entity = { val: { name: "2", key: "3" } };

// // observe(entity, () => {
// //   console.log("value change", entity);
// // });

// // // entity.val = { name: "5", key: "6" };
// // entity.val.name ="8";

// // console.log(entity.val.name);
// const ctx = View3D({
//   onReady() {},
// });

// //相机观看目标点，未实现
// ctx.controls.target = new Vector3();

// ctx.controls.maxDistance = 5000;

// ctx.controls.minDistance = 1000;

// ctx.controls.zoomSpeed = 2;

// ctx.controls.rotateSpeed = 2;

// // 基类Object3D lookAt(x,y,z)用法 (客户端未实现)
// // isMesh 设置相机在{x,y,z} 观察mesh.position
// // isCamera 设置相机观察目标点{x,y,z}
// // isLight 设置灯光朝向目标点{x,y,z}
// Mesh.listSync().then((meshs: Array<Mesh>) => {});

// Mesh.getByNameSync("name").then((mesh: Mesh) => {
//   //材质
//   const mat = mesh.materials.find((item) => {
//     return (item.component = "component");
//   });
//   mat.color=''
//   mat.matpath=''
//   mat.texpath=''
//   mat.offset={offsetX:0,offsetY:0}
//   mat.roughness=1
//   mat.specular=1
//   mat.subdivide={subdivideU:1,subdivideV:1}

//   mesh.moveto({},1,true)
//   mesh.rotateto({},1)
//   mesh.scaleto({},1)

// });

// Mesh.getByGuidSync("guid").then((mesh: Mesh) => {});

// Mesh.getByTagSync(["tag"]).then((meshs: Array<Mesh>) => {});

// Weather.setLightAngleSync;

// Weather.setLightColorSync;

// Weather.setLightIntensitySync;

// Weather.setSegmentTimeSync;

// Weather.setSkyBoxSync;

// Weather.setSync;

// Weather.setTimeSync;

// Mttq.getSubTopics;

// Mttq.subscribe;

// Mttq.unSubscribe;

// Mttq.push;

// AppStorage.local.setSync;

// AppStorage.local.getSync;

// AppStorage.local.getInfoSync;

// AppStorage.session.setSync;

// AppStorage.session.getSync;

// AppStorage.session.getInfoSync;
